1. Field of the Invention
The present invention relates to a wavelet-based encoding method used, for example in an image processing apparatus, to compress image data that is to be held temporarily, and particularly to a wavelet-based encoding method suitable for still-image data.
2. Description of the Prior Art
According to a wavelet-based encoding method, image data is compressed in the following manner. First, the image data of each frame is divided into blocks each composed of a plurality of pixels. Next, each of the blocks thus obtained by division is divided into a plurality of frequency ranges by a frequency-range dividing filter, so that the image data, originally distributed along a time axis, is converted into data distributed along a frequency axis. Thereafter, the data is compressed by different methods appropriate for the individual frequency ranges, and is then encoded by a predetermined method.
The data divided into a plurality of frequency ranges is individually compressed in the following manner. In general, the higher the frequency, the less sensitive the human eye is to the variation of the amplitude. That is, the human eye is more sensitive to degradation of image quality in lower frequency ranges than in higher frequency ranges. Thus, it is advisable to use an encoding method that generates smaller quantization errors (i.e. that offers a low compression rate) for lower frequency ranges and use an encoding method that offers a high compression rate (i.e. that generates greater quantization errors) for higher frequency ranges. For example, DPCM (differential pulse code modulation) that generates no quantization errors is used for low frequency ranges, scalar quantization is used for intermediate frequency ranges (i.e. between low and high frequency ranges), and vector quantization is used for high frequency ranges.
Here, conventionally, for all of the frequency ranges that are to be subjected to scalar quantization, scalar quantization is performed with a uniform step number and with non-linear step widths that are so determined that the step width increases as the absolute value of the data increases. Moreover, for all of the frequency ranges that are to be subjected to vector quantization, vector quantization is performed in such a way that a set of mutually corresponding pieces of data throughout all of those frequency ranges is dealt with as a unit and by the use of a single code book; that is, always a fixed number of pieces of data is subjected to vector quantization using a fixed code book.
Here, data having a great absolute value does not occur frequently. This is why conventionally scalar quantization is performed using a wider step width according as the absolute value of data increases. However, data that does not occur frequently is exactly data that is conspicuous on the screen. Therefore, permitting greater quantization errors for such data leads to unacceptably large degradation of the decoded image.
On the other hand, for high frequency ranges, for which vector quantization is performed, always subjecting a fixed number of pieces of data to vector quantization using a fixed code book leads to unacceptably large degradation of the decoded image, depending on the type of the image, even though the human eye is less sensitive to degradation of image quality in high frequency ranges.
In addition, the frequency range dividing filter is realized by the use of a QMF (quadrature mirror filter), which is, as shown in FIG. 9, built as a common FIR (finite impulse response, i.e. non-recursive digital filter) composed of delay circuits (flip-flops) FF1, FF2, . . . , multipliers M1, M2, . . . , and an adder A, and thus requires a large circuit scale.